#include <iostream> 
using namespace std;

class CAR
{
    protected:
        double speed;
    public:
        CAR(){}
        CAR(double s):speed(s){cout<<"创建汽车("<<s<<"公里/小时)\n";}
        virtual void Show(){cout<<"汽车: "<<speed<<"公里/小时\n";}
        virtual ~CAR(){cout<<"销毁汽车("<<speed<<"公里/小时)\n";}
};

class BUS:virtual public CAR
{
    protected:
        int seat;
    public:
        BUS(){}
        BUS(double s,int se):CAR(s),seat(se){cout<<"创建客车("<<se<<"人)\n";}
        virtual void Show(){cout<<"客车: "<<speed<<"公里/小时, "<<seat<<"人\n";}
        virtual ~BUS(){cout<<"销毁客车("<<seat<<"人)\n";}
};

class TRUCK:virtual public CAR
{
    protected:
        double load;
    public:
        TRUCK(){}
        TRUCK(double s,double l):CAR(s),load(l){cout<<"创建货车("<<l<<"吨)\n";}
        virtual void Show(){cout<<"货车: "<<speed<<"公里/小时, "<<load<<"吨\n";}
        virtual ~TRUCK(){cout<<"销毁货车("<<load<<"吨)\n";}
};

class VAN:public BUS,public TRUCK
{
    public:
        VAN(){}
        VAN(double s,int se,double l):CAR(s),BUS(s,se),TRUCK(s,l)
        {cout<<"创建客货两用车\n";}
        virtual void Show(){cout<<"客货两用车: "<<speed<<"公里/小时, "<<seat<<"人, "<<load<<"吨\n";}
        virtual ~VAN(){cout<<"销毁客货两用车\n";}
};

int main()
{
    CAR *p;
    double s, t, w;
    cin >> s>> t>> w;
    p = new VAN(s, t, w);
    p->Show();
    delete p;
    return 0;
}